Data communication in a computer network involves the exchange of data between two or more entities interconnected by communication links and subnetworks. These entities are typically software programs executing on hardware computer platforms, such as end stations and intermediate stations. Examples of an intermediate station may be a router or switch which interconnects the communication links and subnetworks to enable transmission of data between the end stations. A local area network (LAN) is an example of a subnetwork that provides relatively short distance communication among the interconnected stations; in contrast, a wide area network (WAN) enables long distance communication over links provided by public or private telecommunications facilities.
Communication software executing on the end stations correlate and manage data communication with other end stations. The stations typically communicate by exchanging discrete packets or frames of data according to predefined protocols. In this context, a protocol consists of a set of rules defining how the stations interact with each other. In addition, network routing software executing on the routers allow expansion of communication to other end stations. Collectively, these hardware and software components comprise a communications network and their interconnections are defined by an underlying architecture.
Modern communications network architectures are typically organized as a series of hardware and software levels or "layers" within each station. These layers are arranged to form a protocol stack that functions to format data for transfer between, e.g., a source station and a destination station communicating over the network. Specifically, predetermined services are performed on the data as it passes through each layer and the layers communicate with each other by means of the predefined protocols. An example of such a communications architecture is the Systems Network Architecture (SNA) developed by International Business Machines (IBM) Corporation.
SNA is a mainframe-oriented network architecture that defines a plurality of hardware and software components or nodes that are interconnected to form a hierarchically-structured network. These nodes include host subarea or data centre nodes, such as core or back-bone router and virtual telecommunications access method (VTAM) resources, that control and manage a SNA network, and communication controller subarea or remote site nodes that route and control the flow of data to other resources, such as end stations, of the network.
In general, most resources of the SNA network require access to only those resources in the data centre. That is, applications executing on the end stations typically require access only to the data centre nodes, and such access is generally realized through logical units (LU) of the stations and nodes. Accordingly, in a typical SNA network, a communication session may connect two LUs in a LU-LU session. Activation and deactivation of such a session is addressed by functions of an Advanced Peer to Peer Networking (APPN) architecture.
The APPN architecture also defines a plurality of nodes that interact to form an APPN network. These nodes typically include APPN network nodes and APPN end nodes. An APPN router node is a full-functioning APPN network node having all APPN base service capabilities including topology and routing services (TRS) functions, whereas an APPN end node is capable of performing only a subset of the functions provided by an APPN network node. APPN nodes and TRS functions are well-known and are, for example, described in detail in Systems Network Architecture Advanced Peer to Peer Networking Architecture Reference IBM Doc SC30-3422 and APPN Networks by Jesper Nilausen, printed by John Wiley and Sons, 1994, at pgs 11-83.
Most APPN networks evolve from SNA networks; as a result, these APPN networks have generally the same hierarchical structure, i.e., data centre and remote site nodes, and session access requirements of an SNA network. For example, the LU of an end station typically communicates over an LU-LU session with a corresponding LU in the data centre. A control point (CP), configured as an APPN network node server, typically calculates the route to be used for the session using TRS, including the session routing information, in response to a LOCATE request provided over a CP-CP session between the end node and the network node server.
TRS involves management: and maintenance of information relating to the topology of the APPN network, including the network nodes, their interconnecting communication links, characteristics and state information of the nodes and links, and the state of the CP sessions. Such information is contained in a topology database of each network node; specifically, the topology database contains detailed information on all links of a "transmission group" (TG) between APPN network nodes, TG characterstics and TG status, in addition to information on all network nodes, node characteristics and node status.
To ensure the accuracy of TRS functions, the topology databases of the network nodes must be consistent, particularly when changes occur to the network. The APPN architecture, in an attempt to maintain database consistency, specifies that every network node in an APPN network exchange its network topology information with other network nodes. When a change to the network is detected, the network node typically "floods" topology database update (TDU) information over CP sessions to all network nodes, including the remote site nodes, to ensure rapid convergence of topology information. A TDU typically includes (i) a resource identifier identifying the resource (node or TG) to which the update information applies, (ii) resource characteristics representing updated values for the changed characteristics, and (iii) a resource sequence number for determining whether TDU has previously been received and registered by a receiving node.
If a link between a data centre network node and a remote site network node fails, the data centre node generates and floods a TDU reflecting this topology change over CP sessions to all network nodes including the network nodes of other remote sites in the network. Yet these remote site network nodes do not require knowledge of the failure because they only communicate with resources in the data centre. In a large APPN network, the flow of such TDU information is significant and, in many cases, may impact performance of the network. The present invention is directed to solving the problem of reducing the flow of topology information among nodes of a computer network.